This specification relates to managing query execution and resource allocation on distributed database systems.
In a distributed database system, e.g., a massively parallel processing (MPP) database system, data can be partitioned and stored on multiple hosts, also referred to as nodes. Each node can include one or more physical server computers. Each physical server computer can have its own operating system, processor and storage device. Upon receiving a query, a computer designated as a master node can parse the query and build a query plan. The master node can distribute the query to computers designated as segment nodes for processing. For various reasons, the partition of data may be uneven across the nodes. Workload on some nodes may be heavier than workload on other nodes. Imbalance of workload may affect efficiency of the distributed database system.